package scauCmiScaffolding.compiled;

import org.eclipse.jet.JET2Context;
import org.eclipse.jet.JET2Template;
import org.eclipse.jet.JET2Writer;
import org.eclipse.jet.taglib.RuntimeTagElement;
import org.eclipse.jet.taglib.TagInfo;

public class _jet_countEntitysByDetachedCriteria_1 implements JET2Template {
    private static final String _jetns_c = "org.eclipse.jet.controlTags"; //$NON-NLS-1$
    private static final String _jetns_java = "org.eclipse.jet.javaTags"; //$NON-NLS-1$

    public _jet_countEntitysByDetachedCriteria_1() {
        super();
    }

    private static final String NL = System.getProperty("line.separator"); //$NON-NLS-1$
    
    private static final TagInfo _td_java_format_1_1 = new TagInfo("java:format", //$NON-NLS-1$
            1, 1,
            new String[] {
            },
            new String[] {
            } );
    private static final TagInfo _td_c_get_3_23 = new TagInfo("c:get", //$NON-NLS-1$
            3, 23,
            new String[] {
                "select", //$NON-NLS-1$
            },
            new String[] {
                "uppercaseFirst($eachTable/@name)", //$NON-NLS-1$
            } );
    private static final TagInfo _td_c_get_4_92 = new TagInfo("c:get", //$NON-NLS-1$
            4, 92,
            new String[] {
                "select", //$NON-NLS-1$
            },
            new String[] {
                "uppercaseFirst($eachTable/@name)", //$NON-NLS-1$
            } );

    public void generate(final JET2Context context, final JET2Writer __out) {
        JET2Writer out = __out;
        RuntimeTagElement _jettag_java_format_1_1 = context.getTagFactory().createRuntimeTag(_jetns_java, "format", "java:format", _td_java_format_1_1); //$NON-NLS-1$ //$NON-NLS-2$
        _jettag_java_format_1_1.setRuntimeParent(null);
        _jettag_java_format_1_1.setTagInfo(_td_java_format_1_1);
        _jettag_java_format_1_1.doStart(context, out);
        JET2Writer _jettag_java_format_1_1_saved_out = out;
        while (_jettag_java_format_1_1.okToProcessBody()) {
            out = out.newNestedContentWriter();
            out.write("\t");  //$NON-NLS-1$        
            out.write(NL);         
            out.write("\t@Transactional ");  //$NON-NLS-1$        
            out.write(NL);         
            out.write("\tpublic Integer  count");  //$NON-NLS-1$        
            RuntimeTagElement _jettag_c_get_3_23 = context.getTagFactory().createRuntimeTag(_jetns_c, "get", "c:get", _td_c_get_3_23); //$NON-NLS-1$ //$NON-NLS-2$
            _jettag_c_get_3_23.setRuntimeParent(_jettag_java_format_1_1);
            _jettag_c_get_3_23.setTagInfo(_td_c_get_3_23);
            _jettag_c_get_3_23.doStart(context, out);
            _jettag_c_get_3_23.doEnd();
            out.write("sByDetachedCriteria(CmiPagination page) throws DataAccessException{");  //$NON-NLS-1$        
            out.write(NL);         
            out.write("\t\t DetachedCriteria detachedCriteria = CmiDetachedCriteriaUtil.createDetachedCriteria(page,");  //$NON-NLS-1$        
            RuntimeTagElement _jettag_c_get_4_92 = context.getTagFactory().createRuntimeTag(_jetns_c, "get", "c:get", _td_c_get_4_92); //$NON-NLS-1$ //$NON-NLS-2$
            _jettag_c_get_4_92.setRuntimeParent(_jettag_java_format_1_1);
            _jettag_c_get_4_92.setTagInfo(_td_c_get_4_92);
            _jettag_c_get_4_92.doStart(context, out);
            _jettag_c_get_4_92.doEnd();
            out.write(".class);");  //$NON-NLS-1$        
            out.write(NL);         
            out.write("\t\t Session session = entityManager.unwrap(org.hibernate.Session.class);");  //$NON-NLS-1$        
            out.write(NL);         
            out.write("\t\t detachedCriteria.setProjection(Projections.rowCount());");  //$NON-NLS-1$        
            out.write(NL);         
            out.write("\t\t return new Long((long)detachedCriteria.getExecutableCriteria(session).uniqueResult()).intValue();");  //$NON-NLS-1$        
            out.write(NL);         
            out.write("\t}");  //$NON-NLS-1$        
            out.write(NL);         
            _jettag_java_format_1_1.handleBodyContent(out);
        }
        out = _jettag_java_format_1_1_saved_out;
        _jettag_java_format_1_1.doEnd();
    }
}
